草庐IT

c++ - std::binary_function - 调用不匹配?

全部标签

c - 使用 CreateProcess,无法获取 CREATE_NO_WINDOW 来抑制控制台

我想在不弹出控制台窗口的情况下启动一个进程(为简单起见,我们将使用记事本)。我确定我错过了一些非常简单的东西,这是我最简化的测试用例:#include#include#includevoid_tmain(intargc,TCHAR*argv[]){STARTUPINFOsi;PROCESS_INFORMATIONpi;ZeroMemory(&si,sizeof(si));si.cb=sizeof(si);ZeroMemory(&pi,sizeof(pi));//Startthechildprocess.if(!CreateProcess(NULL,//Nomodulename(usec

c++ - 如何将用 linux 编写的 std::wstring 读入 windows

我们有一个在Windows和Linux上运行的程序。它以二进制形式将std::wstrings写入文件。我们需要能够将从Linux写入的文件读入Windows。我们将字符串写成wchar_t的列表。在linux上每个wchar_t占用4个字节。在Windows上每个wchar_t占用2个字节。Windows把linux写的文件读进去,怎么把4字节的wchar_t放到2字节的wchar_t里呢?谢谢,亚当 最佳答案 您可以使用UTF8-CPP轻松地将文件从UTF-32转换为UTF-16:#include#include#include

c - 绘画后 WM_PAINT 不显示

所以我正在绘制位图,这是我的代码:hdcMem=CreateCompatibleDC(hdc);SelectObject(hdcMem,g_hBitmap);GetObject(g_hBitmap,sizeof(bm),&bm);BitBlt(hdc,196-(bm.bmWidth/2),90,bm.bmWidth,bm.bmHeight,hdcMem,0,0,SRCCOPY);DeleteDC(hdcMem);有时,当我用这段代码绘制时,位图不显示。尽管如果我最小化/取消最小化窗口,则会显示位图。我很确定我的代码没有问题,那么我还应该做些什么吗?编辑:原来它不仅仅是位图,如果我用Te

Windows 7驱动程序ioctl调用

我已经为某些特定功能编写了一个Windows驱动程序。它可以正常工作。但是,我在通过ioctl接口(interface)调用它时遇到了问题。在我的应用程序中,我调用CreateFile并尝试将我提供给驱动程序的名称传递给驱动程序。但是,它给了我一个错误,“无法打开设备”,错误代码是0x03。我使用的名称与我为司机提供的名称完全相同。从cmd行应用程序打开驱动程序的名称:\DosDevice\my_driver传递给CreateFile的名称也是相同的。有没有办法在Windows命名空间中找到我的驱动程序的名称? 最佳答案 Win32

调用 free 导致程序抛出异常

当我偶然发现以下问题时,我正在做作业。我应该使用C和WindowsAPI函数创建一个简单的多线程应用程序。每个线程都会运行一个简单的任务,所以我决定回收一些我做过的旧东西。我有一个头文件:http://pastebin.com/1aJFAwBg还有一个源文件:http://pastebin.com/L127FGhG然后在main中,我进行以下调用:LoadPoem();ProcessPoem();SavePoem();LoadPoem打开包含原始文件的文件,为输入分配一个缓冲区(变量loadedPoemBuffer)并将文件中的文本存储在其中。ProcessPoem然后为更改后的版本(

c - 从 dll 导出函数指针

我在一个dll文件中有一个函数指针(在实现中,而不是头文件中)。在exe源码中如何调用this指针指向的函数? 最佳答案 您可以导出返回指针的函数。header:typedefvoid(*MyPtr)();__declspec(dllexport)MyPtrGetMyPtr();来源:MyPtrGetMyPtr(){//retunrthefunctionpointerhere} 关于c-从dll导出函数指针,我们在StackOverflow上找到一个类似的问题:

c++ - 尝试从某个 COM 端口读取/写入时程序无法执行

我正在通过串行端口与宽带卡通信。我必须通过COM5读取GPS数据,并通过执行命令并读取COM3上的响应来获取信号强度。每当我尝试读取/写入COM3时,程序都无法执行。当我注释掉包含以下内容的行时:if(!WriteFile(hSerial2,wzBuff,7,&dZBytesRead,NULL))std::cout程序运行完美。完整代码如下:#include#include#include#include#include#includeusingnamespacestd;vectorfindLocation(stringstr,charcharacter);intmain(){time

c++ - 使用 JSonCpp 调用纯虚函数

当我关闭我的应用程序时,我一直收到这个消息。我知道它与JsonCpp有关,因为它仅在我使用Json值时发生。我认为这与我如何创建json值有关,但由于没有任何教程,我不知道我应该怎么做我的代码目前是:staticJson::Valueroot;//willcontainstherootvalueafterparsing.unsignedintWindowSettings::WindowWidth=800;unsignedintWindowSettings::WindowHeight=600;boolWindowSettings::FullScreen=false;unsignedsho

windows - 如何通过 Win API 调用或(更好)读取注册表值来读取 Windows 构建版本

我们安装的系统偶尔会检测到错误的Windows版本。(它通过内置的Wise安装程序功能检测系统信息来检测版本,但没有说明它是如何做到这一点的)。因此,我正在寻找另一种检测Windows版本的方法。Wise安装程序调用WindowsAPI函数的能力非常有限,因此从注册表或特定文件中读取会更容易(当然,我必须将文件版本映射到Windows版本)。我找到了这个讨论帖:http://www.velocityreviews.com/forums/t513244-best-way-to-get-version-from-registry.html但它没有引用。所以我不确定它的可靠性如何。

c++ - 调用 accept() 时出现异常

//thisisserversidecodesnippetusedforchatapplicationint*sockPtr;intresult;result=listen(sClient,10);//sClientisSOCKETthatisbindtospecificportforlistiningincomingconnectionsockPtr=(int*)malloc(sizeof(int));*sockPtr=accept(sClient,(SOCKADDR*)&client_info,&addrlen);//hereistheproblemonsockPtr[whichi